package java67_adv5;

public class Prime {

	public static void main(String[] args) {
		/**
		 * 查找1到100万内所有满足如下规律的质数： 这个数能分解成两个数的平方和,比如149,因为 149=10^2+7^2；并统计符合要求的数字有多少个。
		 */
		int s = 1, e = 1;
		int count = 0;
		for (int i = 1; i <= 10000; i++) {
			//
			if (isZhi(i)) {
				//
				// System.out.print (i);
				s = 1;
				e = 1;

				e = (int) Math.sqrt(i);
				while (s <= e) {
					int t = i - s * s;
					int t2 = (int) Math.sqrt(t);
					if (t2 * t2 == t) {
						System.out.print(i + "  ");
						count++;
						if (count % 20 == 0)
							System.out.println();
						break;
					}
					s++;
					// e--;
				}
			}
		}
	}

	// 判断是否是质数
	public static boolean isZhi(int k) {
		if (k == 1)
			return false;
		for (int i = 2, e = (int) Math.sqrt(k); i <= e; i++) {
			if (k % i == 0)
				return false;
		}
		return true;
	}
}
